# 搜索Ubuntu包
import requests
from bs4 import BeautifulSoup
from tables import *
pkgUrl = "https://mirrors.163.com/ubuntu/pool/main/"

def searchPackage(url,pkgName):
    r = requests.get(url)
    soup = BeautifulSoup(r.content,"lxml")
    alist = soup.findAll("a")
    for aitem in alist:
        href = aitem.get("href")
        if "../" != href:
            full_url = url + href
            if not isFileUrl(full_url):
                searchPackage(full_url,pkgName)
            else:
                if href.startswith(pkgName):
                    print(full_url)

def celloctPackage(url):
    r = requests.get(url)
    soup = BeautifulSoup(r.content,"lxml")
    alist = soup.findAll("a")
    for aitem in alist:
        href = aitem.get("href")
        if "../" != href:
            full_url = url + href
            if not isFileUrl(full_url):
                celloctPackage(full_url)
            else:
                with session_scope() as se:
                    pkgs = PkgsTable()
                    pkgs.pkgName = href
                    pkgs.pkgUrl = full_url
                    se.add(pkgs)

def isFileUrl(url):
    if url.endswith(".deb"):
        return True
    return False

if __name__ == '__main__':
    celloctPackage(pkgUrl)
    # searchPackage(pkgUrl,"libarchive13")